HAL UART macro migration

This section provides information about the HAL UART macro migration.

Note

The following UART macros have been transitioned to inline functions, enhancing efficiency and type safety.

Related concept: Removal of hardware-related macros in HAL2

HAL UART enable/disable

HAL1

HAL2

#define __HAL_UART_ENABLE(__HANDLE__)
#define __HAL_UART_DISABLE(__HANDLE__)
__STATIC_INLINE void LL_USART_Enable(USART_TypeDef *p_usart)
__STATIC_INLINE void LL_USART_Disable(USART_TypeDef *p_usart)

HAL UART get flag/interrupt

HAL1

HAL2

#define __HAL_UART_GET_IT(__HANDLE__, __INTERRUPT__)
/*OR*/
#define __HAL_UART_GET_FLAG(__HANDLE__, __FLAG__)
__STATIC_INLINE uint32_t LL_USART_IsActiveFlag(const USART_TypeDef *p_usart, uint32_t mask)

General HAL UART clear flags

HAL1

HAL2

#define __HAL_UART_CLEAR_FLAG(__HANDLE__, __FLAG__)
/* OR */
#define __HAL_UART_CLEAR_IT(__HANDLE__, __IT_CLEAR__)
__STATIC_INLINE void LL_USART_ClearFlag(USART_TypeDef *p_usart, uint32_t mask)

Specific HAL UART clear flags

HAL1

HAL2

#define __HAL_UART_CLEAR_PEFLAG(__HANDLE__)
#define __HAL_UART_CLEAR_FEFLAG(__HANDLE__)
#define __HAL_UART_CLEAR_NEFLAG(__HANDLE__)
#define __HAL_UART_CLEAR_OREFLAG(__HANDLE__)
#define __HAL_UART_CLEAR_IDLEFLAG(__HANDLE__)
#define __HAL_UART_CLEAR_TXFECF(__HANDLE__)
__STATIC_INLINE void LL_USART_ClearFlag_PE(USART_TypeDef *p_usart)
__STATIC_INLINE void LL_USART_ClearFlag_FE(USART_TypeDef *p_usart)
__STATIC_INLINE void LL_USART_ClearFlag_NE(USART_TypeDef *p_usart)
__STATIC_INLINE void LL_USART_ClearFlag_ORE(USART_TypeDef *p_usart)
__STATIC_INLINE void LL_USART_ClearFlag_IDLE(USART_TypeDef *p_usart)
__STATIC_INLINE void LL_USART_ClearFlag_TXFE(USART_TypeDef *p_usart)

HAL UART get interrupt source

HAL1

HAL2

#define __HAL_UART_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__)
__STATIC_INLINE uint32_t LL_USART_IsEnabledIT_IDLE(const USART_TypeDef *p_usart)
__STATIC_INLINE uint32_t LL_USART_IsEnabledIT_RXNE_RXFNE(const USART_TypeDef *p_usart)
__STATIC_INLINE uint32_t LL_USART_IsEnabledIT_TC(const USART_TypeDef *p_usart)
__STATIC_INLINE uint32_t LL_USART_IsEnabledIT_TXE_TXFNF(const USART_TypeDef *p_usart)
__STATIC_INLINE uint32_t LL_USART_IsEnabledIT_PE(const USART_TypeDef *p_usart)
__STATIC_INLINE uint32_t LL_USART_IsEnabledIT_CM(const USART_TypeDef *p_usart)
__STATIC_INLINE uint32_t LL_USART_IsEnabledIT_RTO(const USART_TypeDef *p_usart)
__STATIC_INLINE uint32_t LL_USART_IsEnabledIT_EOB(const USART_TypeDef *p_usart)
__STATIC_INLINE uint32_t LL_USART_IsEnabledIT_TXFE(const USART_TypeDef *p_usart)
__STATIC_INLINE uint32_t LL_USART_IsEnabledIT_RXFF(const USART_TypeDef *p_usart)
__STATIC_INLINE uint32_t LL_USART_IsEnabledIT_LBD(const USART_TypeDef *p_usart)
__STATIC_INLINE uint32_t LL_USART_IsEnabledIT_ERROR(const USART_TypeDef *p_usart)
__STATIC_INLINE uint32_t LL_USART_IsEnabledIT_CTS(const USART_TypeDef *p_usart)
__STATIC_INLINE uint32_t LL_USART_IsEnabledIT_WKUP(const USART_TypeDef *p_usart)
__STATIC_INLINE uint32_t LL_USART_IsEnabledIT_TXFT(const USART_TypeDef *p_usart)
__STATIC_INLINE uint32_t LL_USART_IsEnabledIT_TCBGT(const USART_TypeDef *p_usart)
__STATIC_INLINE uint32_t LL_USART_IsEnabledIT_RXFT(const USART_TypeDef *p_usart)

HAL UART enable interrupt

HAL1

HAL2

#define __HAL_UART_ENABLE_IT(__HANDLE__, __INTERRUPT__)
__STATIC_INLINE void LL_USART_EnableIT_CR1(UsART_TypeDef *p_usart, uint32_t mask)
__STATIC_INLINE void LL_USART_EnableIT_CR2(UsART_TypeDef *p_usart, uint32_t mask)
__STATIC_INLINE void LL_USART_EnableIT_CR3(UsART_TypeDef *p_usart, uint32_t mask)

HAL UART disable interrupt

HAL1

HAL2

#define __HAL_UART_DISABLE_IT(__HANDLE__, __INTERRUPT__)
__STATIC_INLINE void LL_USART_DisableIT_CR1(USART_TypeDef *p_usart, uint32_t mask)
__STATIC_INLINE void LL_USART_DisableIT_CR2(USART_TypeDef *p_usart, uint32_t mask)
__STATIC_INLINE void LL_USART_DisableIT_CR3(USART_TypeDef *p_usart, uint32_t mask)

HAL UART flush data register

HAL1

HAL2

#define __HAL_UART_FLUSH_DRREGISTER(__HANDLE__)
__STATIC_INLINE void LL_USART_RequestRxDataFlush(USART_TypeDef *p_usart)
__STATIC_INLINE void LL_USART_RequestTxDataFlush(USART_TypeDef *p_usart)

HAL UART hardware control

HAL1

HAL2

/* */

#define __HAL_UART_HWCONTROL_CTS_ENABLE(__HANDLE__)

#define __HAL_UART_HWCONTROL_RTS_ENABLE(__HANDLE__)

#define __HAL_UART_HWCONTROL_CTS_DISABLE(__HANDLE__)
#define __HAL_UART_HWCONTROL_RTS_DISABLE(__HANDLE__)
/* Use HAL_UART_SetHwFlowCtl() to manage RTS and CTS. */
/* HAL_UART_HW_CONTROL_RTS / HAL_UART_HW_CONTROL_CTS */
/* HAL_UART_HW_CONTROL_RTS_CTS / HAL_UART_HW_CONTROL_NONE */

HAL_UART_SetHwFlowCtl(const hal_uart_handle_t *huart,
                      hal_uart_hw_control_t hw_flow_ctl)

HAL UART one bit sampling

HAL1

HAL2

#define __HAL_UART_ONE_BIT_SAMPLE_ENABLE(__HANDLE__)
#define __HAL_UART_ONE_BIT_SAMPLE_DISABLE(__HANDLE__)
HAL_UART_SetOneBitSample(const hal_uart_handle_t *huart,
hal_uart_one_bit_sample_t one_bit_sample)

HAL UART send request

HAL1

HAL2

#define __HAL_UART_SEND_REQ(__HANDLE__, __REQ__)
HAL_UART_SendRequest(hal_uart_handle_t *huart,
hal_uart_request_t request)

HAL UART reset handle state

HAL1

HAL2

#define __HAL_UART_RESET_HANDLE_STATE(__HANDLE__)

Removed ( Use HAL_UART_DeInit() instead when you need to reset all states)